dotnet core 搭建持续集成环境

引子

对于当前快节奏的产品发布周期, 持续集成系统的使用是必不可少的. 在确定了用dotnet core作为主要开发平台之后就开始琢磨着搭建起CI环境, 便有了此文.

Jenkins的安装

之前用过Bamboo和Jenkins, 由于Bamboo是在公司中使用的, 而且当今的开源社区一片繁荣, 估计很少会有人愿意花钱买个CI系统去用, 所以选择了Jenkins来做介绍.
当前已经是Docker的时代, 如果你不用或你不会用docker, 你都不好意思跟人说你是码农, 鉴于此, 我向大家隆重推出Jenkins官方的Docker Image.

考虑到.net程序员接触过docker的比较少, 在此对docker做一个简要的介绍, 看链接Docker简介 .

**我不会告诉你我有多懒**

请注意川酷最终并没有选择用Docker来运行Jenkins, 如果专注于Jenkins 对于dotnet core的配置, 请跳到Jenkins的配置步骤!

安装docker异常简单, 无论你是Windows, OSX还是Linux, 下载安装即可, 地址点这里 安装后会有一个短暂的启动过程, 然后就可以用命令行进行操作了.
首先下载Jenkins官方的Image, 如下面这个命令

docker search jenkins

搜到的结果中第一个即是


下载这个image

docker pull jenkins

因为我已经下载了, 所以是下面这个效果

下载好了后, 用下面的命令启动

docker run -p 8088:8080 -p 50001:50000 -v /var/jenkins_home jenkins

然后浏览器中输入网址http://localhost:8088, 即可打开Jenkins的UI界面.

以上是Jenkins官方的image运行方法, 由于川酷用的是Win10, 又懒于安装Linux虚拟机, 硬盘不能跟docker内共享, 并且Jenkins官方的image竟然不支持sudo, 根本无法安装dotnet core. 所以对于docker的介绍至此结束!

好了, 装13结束, 下面开始正式的安装Jenkins!

dfl.jpg

Jenkins官网下载Jenkins的war文件, 然后运行

java -jar jenkins.war

打开浏览器, 输入地址 http://localhost:8080/ 则可以打开Jenkins的页面.


提示输入一个密码, 在启动控制台中可以找到, 如下图

输入之后点击Continue, 即可进去安装过程


为了成功装13, 我选择第二种! 默认配置已经安装了Git, svn, 也安装了一些编译器, 我只比默认多选了一个Xunit

安装完成会提示输入用户名密码等, 很简单, 不详述.

Jenkins的配置

登陆进来以后, 进入配置步骤, 点击创建一个新任务 进入下面的界面

为任务起个名字, 选择第一个选项, 然后点击OK. 然后选择一下你使用的源代码管理工具, 并填入相关的代码库地址, 为了方便使用了Github作为源码库.

我用的Git, 所以就以Git为例. 构建出发器选择了Build when a change is pushed to GitHubPoll SCM, Jenkins将根据一定的周期检测是否有新的提交, 有的话则会pull下代码进行Build, 下面这个图是配置的两分钟检测一次

构建环境勾选了每次构建前删除之前构建的内容并且构建卡住的话会杀掉构建进程, 如图

构建步骤增加一个windows批处理的步骤, 如果是linux就选shell, 脚本很简单

dotnet restore
dotnet build
dotnet publish

构建后操作添加一个 **Archive for artifacts ** 填入构建后publish的地址, 大概的形式参考下图.

点击保存即完成了配置过程.

看结果

费了九牛二虎之力, 川酷终于配置完成, 看图

只要代码库有变化, 构建会很快执行.

如果你认真看了此文, 并按步骤执行一定会发现问题, 欢迎讨论!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,418评论 15 147
  • 前言 众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广...
    偏偏就是祢阅读 8,887评论 34 59
  • 准备工作 Jenkins的安装 Jenkins依赖于Java环境,首先需安装和配置Java环境(PS:在下载的时候...
    _Artillery阅读 4,341评论 6 22
  • 少小时,余因酷爱《红楼》,尝寄身书店,有感潇湘之泪。今方听《红楼》再版,甚是欢喜,而不得与之相见,不由喟叹横生...
    苏知沐阅读 313评论 0 1
  • 和儿子探讨交友之道 和儿子探讨交友之道 ——读《于丹<论语>心得》之心得(一) 《于丹<论语>心得》看到了第五...
    自由的暖阳阅读 206评论 0 0